﻿@{
    Layout = "~/Views/Shared/Chapter.cshtml";
}

<div class="panel panel-primary">
    <div class="panel-heading">
        <h3 class="panel-title">Delegates</h3>
    </div>
    <div class="panel-body">
        <ul>
            <li>A First Look at Delegates</li>
            <li>Using Delegates to Call Back Static Methods</li>
            <li>Using Delegates to Call Back Instance Methods</li>
            <li>Demystifying Delegates</li>
            <li>
                Using Delegates to Call Back Many Methods (Chaining)
                <ul>
                    <li>C#’s Support for Delegate Chains</li>
                    <li>Having More Control over Delegate Chain Invocation</li>
                </ul>
            </li>
            <li>Enough with the Delegate Definitions Already (Generic Delegates)</li>
            <li>
                C#’s Syntactical Sugar for Delegates
                <ul>
                    <li>Syntactical Shortcut #1: No Need to Construct a Delegate Object</li>
                    <li>Syntactical Shortcut #2: No Need to Define a Callback Method (Lambda Expressions)</li>
                    <li>Syntactical Shortcut #3: No Need to Wrap Local Variables in a Class Manually to Pass Them to a Callback Method</li>
                </ul>
            </li>
            <li>Delegates and Reflection</li>
        </ul>
    </div>
</div>